Complex event processing (CEP) application programs are arranged to perform event driven processes. In other words, CEP application programs are arranged to detect a predetermined set of events and to perform a set of one or more actions in response to such detection. Generally, CEP application programs are used to analyze complex patterns of events and perform a predetermined set of actions in response. The sets of events detected and the associated actions are commonly defined in a set of rules, which may be referred to as CEP rules. CEP application programs have many applications, such as monitoring of biological, manufacturing, medical, aerospace, automotive or business systems. When CEP application programs are applied to business systems, they may be referred to as business event processing (BEP) application programs.
CEP application programs commonly provide an interface arranged to enable the creation or input of CEP rules by a user. Such CEP interfaces enable sets of events to be selected and one or more actions to be defined as responses to those events. In addition, filters may be associated with given events or actions that enable event data to be filtered in accordance with the specified conditions or for the performance of a given action to be conditional on one or more defined data inputs. Such CEP interfaces commonly also enable the user to select the touch points for a given CEP rule, that is, identifications of the source of each event and the target for each action.
Some CEP rule creation interfaces are arranged as strongly typed systems and therefore, all of the artefacts or elements of event logic, such as events, actions, filters or touch points, that are presented for selection for a given rule via the CEP rule creation interface are predetermined. In other words, before a given artefact can be selected by a user, it is fully defined. Commonly, the primary user of a CEP rule creation interface is a high-level user, such as a business analyst, in the case of a BEP application program. Such a high-level user is generally capable of generating the event processing logic for a given rule by selecting the events, actions and filters from a predetermined set of such artefacts. In other words, the high-level user can choose logical elements that have already been implemented in the system by a more technical user versed in the associated information technology (IT) systems.
Once the high-level user has selected the appropriate artefacts for a given rule, a further input from the more technical user is commonly required to correct problems with the data definition and the specification of data flow to be performed that were identified in the process of writing of the rules. The completed rule can then be provided to the high-level user for testing. The technical user may be required to review the data definitions or data flow or for the creation of additional events, actions or touch points.